﻿namespace WLFramework.Reflection
{
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;

    public class TargetSetter
    {
        public string Name { get; set; }
        public SetValueDelegate Setter { get; set; }
        public Type ValueType { get; set; }

        public TargetSetter()
        {
        }

        public TargetSetter(string name, SetValueDelegate setter)
            : this(name, setter, null)
        {            
        }

        public TargetSetter(SetValueDelegate setter, Type valueType)
            : this(valueType.Name, setter, valueType)
        {
        }

        public TargetSetter(string name, SetValueDelegate setter, Type valueType)
        {
            this.Name = name;
            this.Setter = setter;
            this.ValueType = valueType;
        }
    }
}
